home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
DELPHI32
/
COMM
/
ASYNCTIM
/
TIMTEST.ZIP
/
AsyncTimerTest1.pas
< prev
Wrap
Pascal/Delphi Source File
|
1996-06-18
|
2KB
|
87 lines
unit AsyncTimerTest1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AsyncTimer, StdCtrls, ComCtrls;
type
TMainForm = class(TForm)
AsyncTimer: TAsyncTimer;
TrackBarRInterval: TTrackBar;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cbEnabled: TCheckBox;
lblActualInterval: TLabel;
lblReqInterval: TLabel;
Label1: TLabel;
lblTimingFaults: TLabel;
procedure AsyncTimerTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cbEnabledClick(Sender: TObject);
procedure TrackBarRIntervalChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure AsyncTimerTimingFault(Sender: TObject);
private
FBusy :boolean;
FtimingFaults :Integer;
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
var LastEvent :Longint = 0;
procedure TMainForm.AsyncTimerTimer(Sender: TObject);
var T :Longint;
begin
T := GetTickCount;
if not FBusy then
begin
FBusy := true;
if LastEvent <> 0 then lblActualInterval.Caption := IntToStr( T - LastEvent );
FBusy := false;
end;
LastEvent := T;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
FBusy := false;
TrackBarRInterval.Position := AsyncTimer.Interval;
cbEnabled.Checked := AsyncTimer.Enabled;
end;
procedure TMainForm.cbEnabledClick(Sender: TObject);
begin
AsyncTimer.Enabled := TCheckBox( Sender ).Checked;
end;
procedure TMainForm.TrackBarRIntervalChange(Sender: TObject);
begin
AsyncTimer.Interval := TrackBarRInterval.Position;
lblReqInterval.Caption := IntToStr( TrackBarRInterval.Position );
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AsyncTimer.Enabled := false;
end;
procedure TMainForm.AsyncTimerTimingFault(Sender: TObject);
begin
inc( FTimingFaults );
lblTimingFaults.Caption := IntToStr( FTimingFaults );
end;
end.